package com.yike.common.Response;


import lombok.Data;

import java.io.Serializable;

@Data
public class LklPayCallback implements Serializable {
    private static final long serialVersionUID = -8262385820334848108L;
    // 商户信息
    public String merchantNo;         // 商户号 M String(32) 拉卡拉分配的商户号（交易请求接口中商户号）
    public String outTradeNo;        // 商户交易流水号 M String(64)
    public String tradeNo;           // 拉卡拉交易流水号 M String(32)
    public String logNo;             // 拉卡拉对账单流水号 M String(14) 交易流水号14位
    public String accTradeNo;        // 账户端交易订单号 M String(32) 账户端交易订单号

    // 账户类型
    public String accountType;       // 钱包类型 M String(32) 微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 觅支付:BESTPAY 数字人民币:DCPAY

    // 结算信息
    public String settleMerchantNo;  // 结算商户号 C String(32)
    public String settleTermNo;      // 结算终端号 C String(32)

    // 交易状态
    public String tradeStatus;       // 交易状态 M String(16) INIT-初始化 CREATE-下单成功 SUCCESS-交易成功 FAIL-交易失败 DEAL-交易处理中 UNKNOWN-未知状态 CLOSE-订单关闭 PART_REFUND-部分退款 REFUND-全部退款 REVOKED-订单撤销

    // 金额信息
    public String totalAmount;       // 订单金额 M String(12) 单位分，整数数字型字符
    public String payerAmount;      // 付款人实付金额 C String(12) 单位分
    public String accSettledAmount; // 账户端结算金额 M String(12) 账户端应结订单金额=付款人实际发生金额+账户端优惠金额
    public String accMerchantDiscountAmount; // 商户优惠金额(账户端) C String(12) 账户优惠金额，单位分
    public String accDiscountAmount; // 账户优惠金额 C String(12)

    /**
            * 钱包类型枚举
     */
    public enum AccountTypeEnum {
        WECHAT("WECHAT", "微信"),
        ALIPAY("ALIPAY", "支付宝"),
        UQRCODEPAY("UQRCODEPAY", "银联"),
        BESTPAY("BESTPAY", "觅支付"),
        DCPAY("DCPAY", "数字人民币");

        private String code;
        private String desc;

        AccountTypeEnum(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public String getCode() {
            return code;
        }

        public String getDesc() {
            return desc;
        }
    }


}
